package com.pactera.madp.cp.api.vo.contact;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.pactera.madp.cp.api.model.workcontacttag.GetContactTapModel;
import com.pactera.madp.cp.api.vo.ContactFieldPivotVO;
import com.pactera.madp.cp.api.vo.CustomerAssetsInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * ContactMessageVxVO
 *
 * @author jun
 * @version 1.0
 * 2021/6/28 11:09
 **/
@Data
public class ContactMessageVxVO {
    /**
     * 名字
     */
    @ApiModelProperty(value = "名字")
    private String  name;

    /**
     * 性别码
     */
    @ApiModelProperty(value = "性别码")
    private Integer  gender;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    private String  genderText;

    /**
     * 企业名字
     */
    @ApiModelProperty(value = "企业名字")
    private String corpName;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String  remark;

    /**
     * 头像地址
     */
    @ApiModelProperty(value = "头像地址")
    private String  avatar;

    /**
     * 企业标签列表
     */
    @ApiModelProperty(value = "企业标签列表")
    private List<GetContactTapModel> tag;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String  description;

    /**
     * 外部联系人编号
     */
    @ApiModelProperty(value = "外部联系人编号")
    private String  businessNo;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private String createTime;

    /**
     * 群列表
     */
    @ApiModelProperty(value = "群列表")
    private List<ContactRoomVO>  roomList;

    private String  lastContact;
    private String  contactTimes;

    /**
     * 员工列表
     */
    @ApiModelProperty(value = "员工列表")
    private List<ContactEmployeeVO>  employeeList;

    /**
     * 来源码
     */
    @ApiModelProperty(value = "来源码")
    private Integer addWay;

    /**
     * 来源
     */
    @ApiModelProperty(value = "来源")
    private String  addWayText;

    /**
     * 类型码
     */
    @ApiModelProperty(value = "类型码")
    private Integer type;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String typeText;

    /**
     * 客户标签列表信息
     */
    @ApiModelProperty(value = "客户标签列表信息")
    private List<ContactFieldPivotVO> contactFieldPivotList;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 客户id-数据库中
     */
    @ApiModelProperty(value = "客户id-数据库中")
    private Integer contactId;

    /**
     * 当前员工id
     */
    @ApiModelProperty(value = "当前员工id")
    private Integer employeeId;

    /**
     * 是否在黑名单 0为在 1为不在
     */
    @ApiModelProperty(value = "是否在黑名单 0为在 1为不在")
    private Integer inBlacklist;

    /**
     * 加入黑名单原因
     */
    @ApiModelProperty(value = "加入黑名单原因")
    private String reason;

    /**
     * 是否为客户 0是 1不是
     */
    @ApiModelProperty(value = "是否为客户 0是 1不是")
    private Integer isContact;

    /**
     * 客户产品浏览列表
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty(value = "是否为客户 0是 1不是")
    private List<ProdList> prodList;

    @ApiModelProperty(value = "客户资产")
    private CustomerAssetsInfoVO customerAssetsInfoVO;

    @Data
    public  static class ProdList{

        @ApiModelProperty(value = "产品名称")
        private String prodName;

        @ApiModelProperty(value = "产品浏览次数")
        private Integer opening;
    }
}
